﻿using System.Collections.Generic;
using FluorineFx;
using Neturion.Dados;
using Neturion.Fachadas;

namespace Neturion.Servicos
{
    [RemotingService]
    public class ServicoMidia
    {
        public Midia Inserir(Midia midia, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().Inserir(midia, usuarioPermissao);
        }

        public Midia Atualizar(Midia midia, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().Atualizar(midia, usuarioPermissao);
        }

        public void Excluir(Midia midia, Usuario usuarioPermissao)
        {
            Fachada.GetInstancia().Excluir(midia, usuarioPermissao);
        }

        public Midia ObterMidiaPorId(int id, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterMidiaPorId(id, usuarioPermissao);
        }

        public IList<Midia> ObterTodosMidias(Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterTodosMidias(usuarioPermissao);
        }
        
        public Midia ObterMidiaPorCodigo(Usuario usuarioPermissao, string codigo)
        {
            return Fachada.GetInstancia().ObterMidiaPorCodigo(usuarioPermissao,codigo);
        }

        public IList<Midia> ObterMidiaPorDescricao(int inicio, int quantidade, int quantidadeMinima, Usuario usuarioPermissao, string descricao)
        {
            return Fachada.GetInstancia().ObterMidiaPorDescricao( inicio,  quantidade, quantidadeMinima,usuarioPermissao, descricao);
        }

        public IList<Midia> ObterMidiaPorTipoMidia(int inicio, int quantidade, int quantidadeMinima, Usuario usuarioPermissao, TipoMidia tipoMidia)
        {
            return Fachada.GetInstancia().ObterMidiaPorTipoMidia( inicio,  quantidade,  quantidadeMinima,usuarioPermissao, tipoMidia);
        }

        public IList<Midia> ObterMidiaPorFornecedor(int inicio, int quantidade, int quantidadeMinima, Usuario usuarioPermissao, Fornecedor fornecedor)
        {
            return Fachada.GetInstancia().ObterMidiaPorFornecedor( inicio,  quantidade,  quantidadeMinima,usuarioPermissao, fornecedor);
        }
    }
}